package com.study.system.mapper;

import com.study.system.entity.Admin;
import com.study.system.entity.User;
import com.study.system.vo.UserInfoVO;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {

    // 根据账号查询用户
    User findByAccount(String account);

    // 插入用户数据
    Integer insertUser(User user);

    // 修改用户数据
    Integer updateUser(User user);

    Integer adminUpdateUserInfo(Integer userId, String account, String phone, Integer status, String username);

    // 用户注销
    Integer deleteUser(Integer id);

    // 查询指定社团的成员
    List<UserInfoVO> selectClubAllUser(Integer clubId);

    // 查询用户身份
    Integer selectUserPost(Integer clubId, Integer userId);

    // 根据用户ID获取用户姓名、电话号、以及账号
    UserInfoVO getUserInfo(Integer userId);

    // 通过用户ID获取用户密码
    String getPasswordByUserId(Integer userId);

    // 修改用户密码
    void updatePasswordByUserId(Integer userId, String password);

    // 查询用户在指定社团中的职位
    String getUserPostInClub(Integer userId, Integer clubId);

    Admin findByAccountAdmin(String account);

    Integer updateAdmin(User user);

    String getPasswordByUserIdAdmin(Integer userId);

    Integer updatePasswordByUserIdAdmin(Integer userId, String newPassword);

    List<User> getAllUserInfo(Integer pageSize, Integer currentIndex);

    Integer getAllUserNumber();

    Admin getAdminInfo(Integer userId);

    public List<UserInfoVO> searchClubMemberByName(String word, Integer clubId);
}
